package com.vframework.system.org.service;

import java.util.List;
import java.util.Map;

import com.vframework.base.exception.BaseException;
import com.vframework.base.model.BaseBean;
import com.vframework.base.service.BaseService;
import com.vframework.system.org.model.OrgBean;

public interface OrgService extends BaseService{
	
	/**
	 * @author   ztshan
	 * @description  getOrgList:TODO 查询机构列条数
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	public Integer getCount(Map<String, Object> paramMap) throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  getOrgList:TODO 查询机构列表
	 * @param paramMap
	 * @return
	 * @throws BaseException
	 */
	public List<OrgBean> getOrgList(Map<String, Object> paramMap) throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  getOrgById:TODO 按照ID获取机构信息
	 * @param orgId
	 * @return
	 * @throws BaseException
	 */
	public OrgBean getOrgById(String orgId) throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  getOrgIdExists:TODO 查询id是否存在
	 * @param orgId
	 * @return
	 * @throws BaseException
	 */
	public Integer getOrgIdExists(String orgId) throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  insertOrg:TODO添加机构
	 * @param org
	 * @throws BaseException
	 */
	public void insertOrg(OrgBean org)throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  updateOrg:TODO更新机构信息
	 * @param org
	 * @throws BaseException
	 */
	public void updateOrg(OrgBean org)throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  deleteOrg:TODO删除机构
	 * @param paramMap
	 * @throws BaseException
	 */
	public void deleteOrg(String... orgIds)throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  adminAdd:TODO添加机构管理员
	 * @param orgBean
	 * @throws BaseException
	 */
	public void adminAdd(OrgBean orgBean) throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  getMenus:TODO获取菜单列表
	 * @param ids
	 * @return
	 * @throws BaseException
	 */
	public List<BaseBean> getMenus(String... ids) throws BaseException;
	
	/**
	 * @author   ztshan
	 * @description  distributeOrgMenu:TODO分配菜单给机构
	 * @param map
	 * @throws BaseException
	 */
	public void distributeOrgMenu(Map<String,Object> map) throws BaseException;
}
